Welcome
This website shows real-time data from monitoring programs in Lake Champlain and throughout the Lake Champlain Basin.
All data plots are interactive. Hover over plots to see details on each measurement, or click and drag to zoom in on a section. Additional features can be found at the top right of each plot.
This website is under development. All data is provisional and for educational purposes only.
Valcour buoy
The Valcour monitoring buoy is located in the Main Lake segment, near Valcour Island.
Latest weather conditions, recorded 2021-09-24 10:15:00
Air temperature: 15.5 degrees Celsius (59.9 degrees Fahrenheit)
Wind speed: 7.5 meters per second (16.8 miles per hour)
Wind direction: 164 degrees from North
Relative atmospheric pressure: 101.6 kilopascals (762 millimeters of mercury; 30 inches of mercury)
Weather conditions from the past 30 days:
In imperial units
valcour_weather_plot_imperial <- valcour %>%
select(-starts_with("temp")) %>% # select all non-temperature columns
select(c(timestamp,
air_temp_degF,
wind_speed_mph,
wind_direction_deg,
rel_atm_pressure_inHg)) %>% # select parameters with the correct units
pivot_longer(-timestamp,
names_to = "var",
values_to = "value") %>%
filter(!(timestamp == ymd_hms("2021-07-06 03:30:00"))) %>% # remove erroneous value
filter(!(timestamp == ymd_hms("2021-09-07 16:15:00"))) %>% # remove erroneous value
mutate(var = var %>%
recode(air_temp_degF = "Air temperature (degrees Fahrenheit)",
wind_speed_mph = "Wind speed (miles per hour)",
wind_direction_deg = "Wind direction (degrees from North)",
rel_atm_pressure_inHg = "Relative atmospheric pressure (inch of mercury)")) %>%
ggplot() +
geom_line(aes(x = timestamp,
y = value,
color = var)) +
facet_wrap(var ~ .,
scales = "free_y",
ncol = 1,
strip.position = "top") +
scale_color_viridis(discrete = TRUE) +
theme(legend.position = "none",
text = element_text(face = "bold",
size = 14)) +
labs(x = "", y = "")
ggplotly(valcour_weather_plot_imperial)In metric units
valcour_weather_plot_metric <- valcour %>%
select(-starts_with("temp")) %>% # select all non-temperature columns
select(c(timestamp,
air_temp_degC,
wind_speed_mps,
wind_direction_deg,
rel_atm_pressure_kPa)) %>% # select parameters with the correct units
pivot_longer(-timestamp,
names_to = "var",
values_to = "value") %>%
filter(!(timestamp == ymd_hms("2021-07-06 03:30:00"))) %>% # remove erroneous value
filter(!(timestamp == ymd_hms("2021-09-07 16:15:00"))) %>% # remove erroneous value
mutate(var = var %>%
recode(air_temp_degC = "Air temperature (degrees Celsius)",
wind_speed_mps = "Wind speed (meters per second)",
wind_direction_deg = "Wind direction (degrees from North)",
rel_atm_pressure_kPa = "Relative atmospheric pressure (kilopascals)")) %>%
ggplot() +
geom_line(aes(x = timestamp,
y = value,
color = var)) +
facet_wrap(var ~ .,
scales = "free_y",
ncol = 1,
strip.position = "top") +
scale_color_viridis(discrete = TRUE) +
theme(legend.position = "none",
text = element_text(face = "bold",
size = 14)) +
labs(x = "", y = "")
ggplotly(valcour_weather_plot_metric)Latest water temperature profile, recorded 2021-09-24 10:15:00
In imperial units
latest_valcour_watertemp_plot_imperial <- valcour_watertemp %>%
filter(timestamp == latest_timestamp) %>%
ggplot() +
geom_line(aes(x = degF,
y = depth_ft),
size = 1.5) +
scale_y_reverse() +
labs(x = "Temperature (deg F)",
y = "Depth below water surface (ft)") +
theme(text = element_text(face = "bold",
size = 14))
ggplotly(latest_valcour_watertemp_plot_imperial)In metric units
latest_valcour_watertemp_plot_metric <- valcour_watertemp %>%
filter(timestamp == latest_timestamp) %>%
ggplot() +
geom_line(aes(x = degC,
y = depth_m),
size = 1.5) +
scale_y_reverse() +
labs(x = "Temperature (deg C)",
y = "Depth below water surface (m)") +
theme(text = element_text(face = "bold",
size = 14))
ggplotly(latest_valcour_watertemp_plot_metric)# Turned off for now.
# enter number of days to look back:
day_window <- 3
timestamp_labeller <- function(x){
as.POSIXct(x, origin = '1970-01-01')
}
window_valcour_watertemp_plot <- valcour_watertemp %>%
filter(timestamp > (latest_timestamp - duration(day_window, units = "days"))) %>%
ggplot() +
geom_line(aes(x = degC,
y = depth_m,
color = timestamp,
group = timestamp),
alpha = 0.4,
size = 1) +
scale_y_reverse() +
scale_color_viridis(option = "magma",
direction = -1,
labels = timestamp_labeller) +
labs(x = "Temperature (deg C)",
y = "Depth below water surface (m)")
ggplotly(window_valcour_watertemp_plot)Water temperature data from the past 30 days:
In imperial units
valcour_watertemp_plot_imperial <- valcour_watertemp %>%
ggplot() +
geom_tile(aes(x = timestamp,
y = depth_ft,
fill = degF)) +
scale_fill_viridis("Temperature\n(deg F)",
option = "plasma") +
scale_y_reverse() +
labs(x = "",
y = "Depth below water surface (ft)") +
theme(text = element_text(face = "bold",
size = 14))
ggplotly(valcour_watertemp_plot_imperial)